Skip to main content

Deployment v11 and above

Deployment or distribution of LightningChart assemblies.

Referenced assemblies

Deliver LightningChart .dll -files with the executable folder, next to the executable folder, with Global assembly cache, or with another folder where .NET assembly resolving system can find them. LightningChart also supports ClickOnce deployment.

WinForms:

  • LightningChart.WinForms.Charting.NET4.dll (in .NET Framework projects)
  • LightningChart.WinForms.Charting.NET6/NET8.dll (in .NET6+ projects)
  • LightningChart.DirectX.dll
  • LightningChart.DirectXInitNET.dll
  • LightningChart.DirectXFilesNET.dll

If using SignalTools

  • LightningChart.WinForms.SignalTools.NET4.dll (in .NET Framework projects)
  • LightningChart.WinForms.SignalTools.NET6/NET8.dll (in .NET6+ projects)
  • LightningChart.MathCore.dll

WPF:

  • LightningChart.WPF.Charting.NET4.dll (for Non-bindable WPF chart, .NET Framework)
  • LightningChart.WPF.Charting.NET6/NET8.dll (for Non-bindable WPF chart, .NET6+)
  • LightningChart.WPF.ChartingMVVM.NET4.dll (for Bindable WPF chart, .NET Framework)
  • LightningChart.WPF.ChartingMVVM.NET6/NET8.dll (for Bindable WPF chart, .NET6+)
  • LightningChart.DirectX.dll
  • LightningChart.DirectXInitNET.dll
  • LightningChart.DirectXFilesNET.dll

If using SignalTools

  • LightningChart.WPF.SignalTools.NET4.dll (in .NET Framework projects)
  • LightningChart.WPF.SignalTools.NET6/NET8.dll (in .NET6+ projects)
  • LightningChart.MathCore.dll

UWP:

  • LightningChart.UWP.ChartingMVVM.dll
  • LightningChart.UWP.Attributes.dll
  • SharpDX.D3DCompiler.dll
  • SharpDX.Direct2D1.dll
  • SharpDX.Direct3D11.dll
  • SharpDX.dll
  • SharpDX.DXGI.dll
  • SharpDX.Mathematics.dll

License key

Remember to use static SetDeploymentKey method for all components. Otherwise the chart enters in trial mode and works only for 30 days, with a trial nag on it.

Extracting Deployment Key

To be able to run LightningChart applications in computers the software is deployed into, a Deployment Key has to be applied in code. Deployment Key can be extracted from a license key by pressing Copy deployment key to Clipboard button in License Manager.

Copying the deployment key Copying the deployment key to clipboard in License Manager

Applying Deployment Key in an application

In code, use static SetDeploymentKey methods for the wanted components. There is no need to set the key for the components that are not used (i.e. setting key for bindable charts in a non-bindable application). Call the SetDeploymentKey methods somewhere before the components need to be used. The best place to call it would be static constructor of the class using the chart, or in the application’s main class.

WinForms

Here’s an example how to apply the key at the static constructor method of the Program class that is created by default for every WinForms application.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
static class Program
{

static Program()
{
//Set Deployment Key for LightningChart components
string deploymentKey = "DEPLOYMENT KEY FROM LICENSE MANAGER GOES HERE";

LightningChartLib.WinForms.Charting.LightningChart.SetDeploymentKey(deploymentKey);
LightningChartLib.WinForms.SignalProcessing.SignalGenerator.SetDeploymentKey(deploymentKey);
LightningChartLib.WinForms.SignalProcessing.AudioInput.SetDeploymentKey(deploymentKey);
LightningChartLib.WinForms.SignalProcessing.AudioOutput.SetDeploymentKey(deploymentKey);
LightningChartLib.WinForms.SignalProcessing.SpectrumCalculator.SetDeploymentKey(deploymentKey);
LightningChartLib.WinForms.SignalProcessing.SignalReader.SetDeploymentKey(deploymentKey);
LightningChartLib.WinForms.SignalProcessing.FilterRoutines.SetDeploymentKey(deploymentKey);

LightningChartLib.WinForms.Trader.TradingChart.SetDeploymentKey(deploymentKey);
}

// Rest of the class ...
}
}

WPF

Here’s an example how to apply the key in the beginning of App.xaml.cs, at the static constructor of the App class.

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Windows;
using LightningChartLib.WPF.SignalProcessing;

namespace WpfApplication1
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
static App()
{
// Set Deployment Key for LightningChart components
string deploymentKey = "DEPLOYMENT KEY FROM LICENSE MANAGER GOES HERE";

// Setting Deployment Key for non-bindable chart
LightningChartLib.WPF.Charting.LightningChart
.SetDeploymentKey(deploymentKey);

// Setting Deployment Key for bindable chart
LightningChartLib.WPF.ChartingMVVM.LightningChart
.SetDeploymentKey(deploymentKey);

// Setting of deployment key to other LightningChart components
SignalGenerator.SetDeploymentKey(deploymentKey);
AudioInput.SetDeploymentKey(deploymentKey);
AudioOutput.SetDeploymentKey(deploymentKey);
SpectrumCalculator.SetDeploymentKey(deploymentKey);
SignalReader.SetDeploymentKey(deploymentKey);
FilterRoutines.SetDeploymentKey(deploymentKey);

// Setting Deployment Key for trading chart
LightningChartLib.WPF.Trader.TradingChart
.SetDeploymentKey(deploymentKey);
}
}
}

In UWP application, it is possible to use either developer key or deployment key, but not both together. Use developer key when developing and debugging the app and deployment key when deploying it.

Note !

Without setting Deployment Key in the application, LightningChart enters into 30 days trial mode in the target machine (applies to computers where a Development license key hasn’t been installed).

Running with Deployment Key on development computer

When running an application, in which a deployment key has been applied with SetDeploymentKey, on a computer where a development license has been installed to, the library prioritizes the development license key. It might lead into user or debugging confusion when deployment key has higher level of features included (e.g. Gold pack) than locally installed license (e.g. Silver pack). Developers must be aware of this limitation.

tip

LightningChart Ltd. recommends all licenses to be of same type within the whole team.

Running with debugger

With Deployment Key set correctly, when running the project from Visual Studio with debugger attached, and no development license key is found from the system, the chart enters slow rendering mode, max FPS is ~1, and the chart shows message text over the chart.

Important !

Direct developing and debugging with LightningChart without developer license key, is forbidden by LightningChart EULA.

Obfuscating application code

It is mandatory to obfuscate the application code, so that LightningChart license keys are not visible to .NET disassembler tools. Leaking license keys may lead into license termination, legal actions and claim of damage.

XML files of LightningChart assemblies

Deployment of these XML files is forbidden.

  • LightningChart.WinForms.Charting.NET4.xml
  • LightningChart.WinForms.Charting.NET6.xml
  • LightningChart.WPF.Charting.NET4.xml
  • LightningChart.WPF.Charting.NET6.xml
  • LightningChart.WPF.ChartingMVVM.NET4.xml
  • LightningChart.WPF.ChartingMVVM.NET6.xml
  • LightningChart.WPF.SignalTools.NET4.xml
  • LightningChart.WPF.SignalTools.NET6.xml
  • LightningChart.WinForms.SignalTools.NET4.xml
  • LightningChart.WinForms.SignalTools.NET6.xml

The files provided by LightningChart Ltd. are only for helping with the application development. They are used mainly to show code parameters and property tips. When rebuilding LightningChart assemblies from source code, ensure the XML files mentioned above are not deployed. Distributing them is strictly forbidden, as they will reveal too much info for .NET disassembler and reverse-engineering applications.